package com.ailiwu.www.ailiwu.base;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;

import com.lidroid.xutils.HttpUtils;

/**
 * Author:    XiYoung
 * Version    V1.0
 * Date:      ${data}  ${time}
 * Description:
 * 这是一个Activity的基类主要定义一些抽象方法和工具类
 * Modification  History:
 * Date         	Author        		Version        	Description
 * -----------------------------------------------------------------------------------
 * 2015/12/01       author              1.0                   1.0
 * Why & What is modified:
 */
public abstract class BaseActivity extends AppCompatActivity {
    protected static HttpUtils httpUtils;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        httpUtils = new HttpUtils();
        httpUtils = new HttpUtils();
        //创建请求对象
        httpUtils = new HttpUtils();
        //设置连接超时时间
        httpUtils.configTimeout(30000);
        //设置缓存区中数据的存储时间，单位为毫秒（一旦超出指定时间，缓存内的数据会被清空）
        httpUtils.configDefaultHttpCacheExpiry(24 * 3600 * 1000);
        //设置缓存区的大小，单位是b字节
        httpUtils.configHttpCacheSize(4 * 1024 * 1024);
        loadXml();
        getIntentData(savedInstanceState);
        initView();
        initData();
        setListener();
    }

    /**
     * 加载布局
     */
    protected abstract void loadXml();

    /**
     * 得到上一个Activity传来的Intent数据
     *
     * @param savedInstanceState
     */
    protected abstract void getIntentData(Bundle savedInstanceState);

    /**
     * 初始化控件
     */
    protected abstract void initView();

    /**
     * 设置监听
     */
    protected abstract void setListener();

    /**
     * 初始化数据
     */
    protected abstract void initData();

    protected  void showLongToast(String msg){
        Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
    }

    protected void showShortToast(String msg){
        Toast.makeText(this,msg,Toast.LENGTH_SHORT).show();
    }

}
